home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / ControlStrip.p < prev    next >
Text File  |  1996-05-01  |  8KB  |  221 lines

  1. {
  2.      File:        ControlStrip.p
  3.  
  4.      Contains:    Control Strip (for Powerbooks and Duos) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ControlStrip;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __CONTROLSTRIP__}
  28. {$SETC __CONTROLSTRIP__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ControlStripIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MENUS__}
  38. {$I Menus.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __DIALOGS__}
  41. {$I Dialogs.p}
  42. {$ENDC}
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48. {
  49. ********************************************************************************************
  50.  
  51.     messages passed to the modules
  52.  
  53. ********************************************************************************************
  54. }
  55.  
  56. CONST
  57.     sdevInitModule                = 0;                            {  initialize the module }
  58.     sdevCloseModule                = 1;                            {  clean up before being closed }
  59.     sdevFeatures                = 2;                            {  return feature bits }
  60.     sdevGetDisplayWidth            = 3;                            {  returns the width of the module's display }
  61.     sdevPeriodicTickle            = 4;                            {  periodic tickle when nothing else is happening }
  62.     sdevDrawStatus                = 5;                            {  update the interface in the Control Strip }
  63.     sdevMouseClick                = 6;                            {  user clicked on the module's display area in the Control Strip }
  64.     sdevSaveSettings            = 7;                            {  saved any changed settings in module's preferences file }
  65.     sdevShowBalloonHelp            = 8;                            {  puts up a help balloon, if the module has one to display }
  66.  
  67. {
  68. ********************************************************************************************
  69.  
  70.     Features supported by the module.  If a bit is set, it means that feature is supported.
  71.     All undefined bits are reserved for future use by Apple, and should be set to zero.
  72.  
  73. ********************************************************************************************
  74. }
  75.     sdevWantMouseClicks            = 0;                            {  notify the module of mouseDown events }
  76.     sdevDontAutoTrack            = 1;                            {  call the module to do mouse tracking }
  77.     sdevHasCustomHelp            = 2;                            {  module provides its own help messages }
  78.     sdevKeepModuleLocked        = 3;                            {  module needs to be locked in the heap }
  79.  
  80. {
  81. ********************************************************************************************
  82.  
  83.     Result values returned by the sdevPeriodicTickle and sdevIconMouseClick selectors.
  84.     If a bit is set, the module can request that a specific function is performed by
  85.     the Control Strip.  A result of zero will do nothing.  All undefined bits are reserved
  86.     for future use by Apple, and should be set to zero.
  87.  
  88. ********************************************************************************************
  89. }
  90.     sdevResizeDisplay            = 0;                            {  resize the module's display }
  91.     sdevNeedToSave                = 1;                            {  need to save changed settings, when convenient }
  92.     sdevHelpStateChange            = 2;                            {  need to update the help message because of a state change }
  93.     sdevCloseNow                = 3;                            {  close a module because it doesn't want to stay around }
  94.  
  95. {
  96. ********************************************************************************************
  97.  
  98.     miscellaneous
  99.  
  100. ********************************************************************************************
  101. }
  102.     sdevFileType                = 'sdev';                        {  module's file type }
  103.  
  104.     sdevMenuItemMark            = $A5;                            {  `*': `checkmark' to use in popup menus }
  105.  
  106. {     direction values for SBDrawBarGraph }
  107.     BarGraphSlopeLeft            = -1;                            {  max end of sloping bar graph is on the left }
  108.     BarGraphFlatRight            = 0;                            {  max end of flat bar graph is on the right }
  109.     BarGraphSlopeRight            = 1;                            {  max end of sloping bar graph is on the right }
  110.  
  111. {
  112. ********************************************************************************************
  113.  
  114.     utility routines to provide standard interface elements and support for common functions
  115.  
  116. ********************************************************************************************
  117. }
  118. FUNCTION SBIsControlStripVisible: BOOLEAN;
  119.     {$IFC NOT GENERATINGCFM}
  120.     INLINE $7000, $AAF2;
  121.     {$ENDC}
  122. PROCEDURE SBShowHideControlStrip(showIt: BOOLEAN);
  123.     {$IFC NOT GENERATINGCFM}
  124.     INLINE $303C, $0101, $AAF2;
  125.     {$ENDC}
  126. FUNCTION SBSafeToAccessStartupDisk: BOOLEAN;
  127.     {$IFC NOT GENERATINGCFM}
  128.     INLINE $7002, $AAF2;
  129.     {$ENDC}
  130. FUNCTION SBOpenModuleResourceFile(fileCreator: OSType): INTEGER;
  131.     {$IFC NOT GENERATINGCFM}
  132.     INLINE $303C, $0203, $AAF2;
  133.     {$ENDC}
  134. FUNCTION SBLoadPreferences(prefsResourceName: Str255; VAR preferences: Handle): OSErr;
  135.     {$IFC NOT GENERATINGCFM}
  136.     INLINE $303C, $0404, $AAF2;
  137.     {$ENDC}
  138. FUNCTION SBSavePreferences(prefsResourceName: Str255; preferences: Handle): OSErr;
  139.     {$IFC NOT GENERATINGCFM}
  140.     INLINE $303C, $0405, $AAF2;
  141.     {$ENDC}
  142. PROCEDURE SBGetDetachedIndString(theString: StringPtr; stringList: Handle; whichString: INTEGER);
  143.     {$IFC NOT GENERATINGCFM}
  144.     INLINE $303C, $0506, $AAF2;
  145.     {$ENDC}
  146. FUNCTION SBGetDetachIconSuite(VAR theIconSuite: Handle; theResID: INTEGER; selector: LONGINT): OSErr;
  147.     {$IFC NOT GENERATINGCFM}
  148.     INLINE $303C, $0507, $AAF2;
  149.     {$ENDC}
  150. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  151. FUNCTION SBTrackPopupMenu({CONST}VAR moduleRect: Rect; theMenu: MenuHandle): INTEGER;
  152.     {$IFC NOT GENERATINGCFM}
  153.     INLINE $303C, $0408, $AAF2;
  154.     {$ENDC}
  155. {$ENDC}
  156. FUNCTION SBTrackSlider({CONST}VAR moduleRect: Rect; ticksOnSlider: INTEGER; initialValue: INTEGER): INTEGER;
  157.     {$IFC NOT GENERATINGCFM}
  158.     INLINE $303C, $0409, $AAF2;
  159.     {$ENDC}
  160. FUNCTION SBShowHelpString({CONST}VAR moduleRect: Rect; helpString: StringPtr): OSErr;
  161.     {$IFC NOT GENERATINGCFM}
  162.     INLINE $303C, $040A, $AAF2;
  163.     {$ENDC}
  164. FUNCTION SBGetBarGraphWidth(barCount: INTEGER): INTEGER;
  165.     {$IFC NOT GENERATINGCFM}
  166.     INLINE $303C, $010B, $AAF2;
  167.     {$ENDC}
  168. PROCEDURE SBDrawBarGraph(level: INTEGER; barCount: INTEGER; direction: INTEGER; barGraphTopLeft: Point);
  169.     {$IFC NOT GENERATINGCFM}
  170.     INLINE $303C, $050C, $AAF2;
  171.     {$ENDC}
  172. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  173. PROCEDURE SBModalDialogInContext(filterProc: ModalFilterUPP; VAR itemHit: INTEGER);
  174.     {$IFC NOT GENERATINGCFM}
  175.     INLINE $303C, $040D, $AAF2;
  176.     {$ENDC}
  177. {$ENDC}
  178. {  The following routines are available in Control Strip 1.2 and later.  }
  179. FUNCTION SBGetControlStripFontID(VAR fontID: INTEGER): OSErr;
  180.     {$IFC NOT GENERATINGCFM}
  181.     INLINE $303C, $020E, $AAF2;
  182.     {$ENDC}
  183. FUNCTION SBSetControlStripFontID(fontID: INTEGER): OSErr;
  184.     {$IFC NOT GENERATINGCFM}
  185.     INLINE $303C, $010F, $AAF2;
  186.     {$ENDC}
  187. FUNCTION SBGetControlStripFontSize(VAR fontSize: INTEGER): OSErr;
  188.     {$IFC NOT GENERATINGCFM}
  189.     INLINE $303C, $0210, $AAF2;
  190.     {$ENDC}
  191. FUNCTION SBSetControlStripFontSize(fontSize: INTEGER): OSErr;
  192.     {$IFC NOT GENERATINGCFM}
  193.     INLINE $303C, $0111, $AAF2;
  194.     {$ENDC}
  195. FUNCTION SBGetShowHideHotKey(VAR modifiers: INTEGER; VAR keyCode: UInt8): OSErr;
  196.     {$IFC NOT GENERATINGCFM}
  197.     INLINE $303C, $0412, $AAF2;
  198.     {$ENDC}
  199. FUNCTION SBSetShowHideHotKey(modifiers: INTEGER; keyCode: ByteParameter): OSErr;
  200.     {$IFC NOT GENERATINGCFM}
  201.     INLINE $303C, $0213, $AAF2;
  202.     {$ENDC}
  203. FUNCTION SBIsShowHideHotKeyEnabled(VAR enabled: BOOLEAN): OSErr;
  204.     {$IFC NOT GENERATINGCFM}
  205.     INLINE $303C, $0214, $AAF2;
  206.     {$ENDC}
  207. FUNCTION SBEnableShowHideHotKey(enabled: BOOLEAN): OSErr;
  208.     {$IFC NOT GENERATINGCFM}
  209.     INLINE $303C, $0115, $AAF2;
  210.     {$ENDC}
  211. {$ALIGN RESET}
  212. {$POP}
  213.  
  214. {$SETC UsingIncludes := ControlStripIncludes}
  215.  
  216. {$ENDC} {__CONTROLSTRIP__}
  217.  
  218. {$IFC NOT UsingIncludes}
  219.  END.
  220. {$ENDC}
  221.